home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swagd_f.zip
/
ENCRYPT.SWG
/
0016_An Encoder for passwords.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-08-27
|
2KB
|
72 lines
{
KEITH TYSINGER
You can make an encoder that will scramble a string(s) that even YOU, the
programmer couldn't unscramble without a password. They are many different
ways to scramble a string; just be creative! One way is to swap every
character with another character ( ex. swap every letter 'A' with the number
'1') , a better way would use a password to scramble it. Here is a simple
procedure that requires the password, the string to be scrammbled, and returns
the scrambled string. The password should not exceed 20 characters in length.
Forget about the messy code; I blame my word processor:
}
procedure encode(password, instring : string; var outstring : string);
var
len,
pcounter,
scounter : byte;
begin
len := length(password) div 2;
scounter := 1;
pcounter := 1;
repeat
outstring := outstring + chr(ord(password[pcounter]) +
ord(instring[scounter]) + len);
inc(scounter);
inc(pcounter);
if pcounter > length(password) then
pcounter := 1;
until scounter > length(instring);
end;
procedure decode(password, instring : string; var outstring : string);
var
len,
pcounter,
scounter : byte;
begin
len := length(password) div 2;
scounter := 1;
pcounter := 1;
repeat
outstring := outstring + chr(ord(instring[scounter]) -
ord(password[pcounter]) - len);
inc(scounter);
inc(pcounter);
if pcounter > length(password) then
pcounter := 1;
until scounter > length(instring);
end;
var
password,
original,
scrambled,
descrambled : string;
begin
original := 'Hello There!';
password := 'Eat my';
encode(password, original, scrambled);
writeln('orig = ', original);
writeln('scrm = ', scrambled);
decode(password, scrambled, descrambled);
writeln('dcod = ', descrambled);
readln;
end.